home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Design
/
WB Collection.iso
/
workbench werkzeuge
/
wbgames
/
blackjack2
/
source
/
jack.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-04-07
|
4KB
|
129 lines
/*
* $VER: jack.h v1.0 (03.08.94)
*
* This file defines the card structure and creates a compleat deck.
*/
#include "face.h"
/*
* Data and Image structures for the suits
*/
static UWORD __chip diamond_data[] = {
0x0800, 0x3E00, 0x7F00, 0xFF80, 0x7F00, 0x3E00, 0x0800,
0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80,
};
struct Image diamond = {
0, 0, 9, 7, 2, diamond_data, 0x3, 0x0, NULL,
};
static UWORD __chip heart_data[] = {
0x7700, 0xFF80, 0xFF80, 0x7F00, 0x3E00, 0x1C00, 0x0800,
0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80,
};
struct Image heart = {
0, 0, 9, 7, 2, heart_data, 0x3, 0x0, NULL,
};
static UWORD __chip spade_data[] = {
0x0800, 0x3E00, 0x7F00, 0xFF80, 0x7F00, 0x0800, 0x3E00,
0xF780, 0xC180, 0x8080, 0x0000, 0x8080, 0xF780, 0xC180,
};
struct Image spade = {
0, 0, 9, 7, 2, spade_data, 0x3, 0x0, NULL,
};
static UWORD __chip club_data[] = {
0x1C00, 0x1C00, 0x7F00, 0xFF80, 0x7F00, 0x0800, 0x3E00,
0xE380, 0xE380, 0x8080, 0x0000, 0x8080, 0xF780, 0xC180,
};
struct Image club = {
0, 0, 9, 7, 2, club_data, 0x3, 0x0, NULL,
};
#define HEARTS 0x80
#define DIAMONDS 0x40
#define SPADES 0x20
#define CLUBS 0x10
struct Card { /* The Card structure */
UBYTE Flags; /* Suit | ID number (1 - 13); */
UBYTE *Cords; /* Co-ordinates to draw suit image */
UBYTE *Name; /* Letter to print in card */
struct Image *Face; /* If a face-card, ptr-to Image structure */
};
/*
* Co-ordinates for the card structures
*/
static UBYTE co1[] = {25, 17};
static UBYTE co2[] = {26,12, 26,21};
static UBYTE co3[] = {10,12, 26,17, 41,21};
static UBYTE co4[] = {12,12, 39,12, 12,21, 39,21};
static UBYTE co5[] = {10,12, 41,12, 26,17, 10,21, 41,21};
static UBYTE co6[] = {10,12, 26,12, 41,12, 10,21, 26,21, 41,21};
static UBYTE co7[] = {10,9, 26,9, 41,9, 26,17, 10,25, 26,25, 41,25};
static UBYTE co8[] = {5,12,19,12, 33,12, 46,12, 5,21, 19,21, 33,21, 46,21};
static UBYTE co9[] = {5,9,19,9,33,9, 12,17,26,17,40,17, 19,25,33,25,46,25};
static UBYTE co0[] = {5,9,19,9,33,9,46,9,12,17,39,17,5,25,19,25,33,25,46,25};
static UBYTE coF[] = {4, 9};
/*
* A complete 'deck' of Cards.
*/
struct Card jdeck[] = {
{ HEARTS | 0x1, co1, "A", NULL},
{ HEARTS | 0x2, co2, "2", NULL},
{ HEARTS | 0x3, co3, "3", NULL},
{ HEARTS | 0x4, co4, "4", NULL},
{ HEARTS | 0x5, co5, "5", NULL},
{ HEARTS | 0x6, co6, "6", NULL},
{ HEARTS | 0x7, co7, "7", NULL},
{ HEARTS | 0x8, co8, "8", NULL},
{ HEARTS | 0x9, co9, "9", NULL},
{ HEARTS | 0xA, co0, "10", NULL},
{ HEARTS | 0xB, coF, "J", &jack},
{ HEARTS | 0xC, coF, "Q", &queen},
{ HEARTS | 0xD, coF, "K", &king},
{ DIAMONDS | 0x1, co1, "A", NULL},
{ DIAMONDS | 0x2, co2, "2", NULL},
{ DIAMONDS | 0x3, co3, "3", NULL},
{ DIAMONDS | 0x4, co4, "4", NULL},
{ DIAMONDS | 0x5, co5, "5", NULL},
{ DIAMONDS | 0x6, co6, "6", NULL},
{ DIAMONDS | 0x7, co7, "7", NULL},
{ DIAMONDS | 0x8, co8, "8", NULL},
{ DIAMONDS | 0x9, co9, "9", NULL},
{ DIAMONDS | 0xA, co0, "10", NULL},
{ DIAMONDS | 0xB, coF, "J", &jack},
{ DIAMONDS | 0xC, coF, "Q", &queen},
{ DIAMONDS | 0xD, coF, "K", &king},
{ SPADES | 0x1, co1, "A", NULL},
{ SPADES | 0x2, co2, "2", NULL},
{ SPADES | 0x3, co3, "3", NULL},
{ SPADES | 0x4, co4, "4", NULL},
{ SPADES | 0x5, co5, "5", NULL},
{ SPADES | 0x6, co6, "6", NULL},
{ SPADES | 0x7, co7, "7", NULL},
{ SPADES | 0x8, co8, "8", NULL},
{ SPADES | 0x9, co9, "9", NULL},
{ SPADES | 0xA, co0, "10", NULL},
{ SPADES | 0xB, coF, "J", &jack},
{ SPADES | 0xC ,coF, "Q", &queen},
{ SPADES | 0xD, coF, "K", &king},
{ CLUBS | 0x1, co1, "A", NULL},
{ CLUBS | 0x2, co2, "2", NULL},
{ CLUBS | 0x3, co3, "3", NULL},
{ CLUBS | 0x4, co4, "4", NULL},
{ CLUBS | 0x5, co5, "5", NULL},
{ CLUBS | 0x6, co6, "6", NULL},
{ CLUBS | 0x7, co7, "7", NULL},
{ CLUBS | 0x8, co8, "8", NULL},
{ CLUBS | 0x9, co9, "9", NULL},
{ CLUBS | 0xA, co0, "10", NULL},
{ CLUBS | 0xB, coF, "J", &jack},
{ CLUBS | 0xC, coF, "Q", &queen},
{ CLUBS | 0xD, coF, "K", &king},
};